#include <iostream>
#include <string>

using namespace std;

// 1. C++中的struct：

// 2. C++中的class

//  C++中的 class 和 struct 区别：
/*
    1. C++需要兼容C语言，所以C++中struct可以当成结构体使用。另外C++中struct还可以用来
    定义类。和class定义类是一样的，区别是struct定义的类默认访问权限是public，class定义的类
    默认访问权限是private。
    
    2.  “class”这个关键字还用于定义模板参数
*/

//  C 和 C++ 中的struct：
/*
    1. C语言：
        1). 结构体不能为空，否则会报错
        2). C语言中的结构体只能定义成员变量，但是不能定义成员函数,但是可以定义函数指针
    2. C++:
        1). 可以定义成员变量和成员函数，还有访问修饰符
    在 C 中，必须显式使用 struct 关键字来声明结构。 在 c + + 中，不需要在 struct 定义类型后使用关键字。

*/


// this指针: 
struct A
{
};
int main()
{
    struct A a; // C中
    A b;        // C++中
}